// run: $exec < input
#include <iostream>
#include <cmath>
#include <iomanip>
#include <algorithm>
#include <cstring>
#include <string>
#include <vector>

int const maxn = 22;
long double p[maxn];
long double ep[maxn];
int n, k;

int main()
{
	std::ios::sync_with_stdio(false);
	std::cin >> n >> k;
	if (n == k) {
		for (int i = 0; i < n; i++)
			std::cout << "1.0000000000000 ";
		return 0;
	}
	for (int i = 0; i < n; i++) std::cin >> p[i];
	for (int i = 0; i < (1 << n); i++) {
		long double sp = 0;
		int c = 0;
		for (int j = 0; j < n; j++)
			if ((i >> j) & 1) {
				c++; sp += p[j];
			}
		if (c >= k) continue;
		long double tmp = pow(sp, k) / (1.0 - sp);
		for (int j = 0; j < n; j++) {
			if ((i >> j) & 1) continue;
			ep[j] += tmp;
		}
	}
	for (int i = 0; i < n; i++) {
		long double tp = 1, ans = 0;
		for (int j = 0; j < k; j++) {
			ans += p[i] * tp;
			tp *= (1 - p[i]);
		}
		ans += ep[i] * p[i];
		ans = std::min((long double)(1), ans);
		std::cout << std::fixed << std::setprecision(10) << ans << " ";
	}
}

